package com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.repository;

import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.entity.EarthquakeAffectedField;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.entity.ResistEarthquakesCalculation;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.entity.ResistEarthquakesDE;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.param.ResistEarthquakesCalculationParam;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.param.AssessParam;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.vo.*;
import com.css.fxfzfxqh.modules.largeScreen.entity.Calculation;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public interface ResistEarthquakesDERepository {
    void addAssess(ResistEarthquakesDE param);

    Map<String, Object>  queryCalculation(String seismicInputMode,int curPage, int pageSize,String id, String condition, String damageDegree);

    Map<String, Object> getPage(int curPage, int pageSize, AssessParam param);

    void updateCorrectionValue(ResistEarthquakesCalculation param);

    List<ResistEarthquakesPCCVO> getListPCC(ResistEarthquakesCalculationParam param);

    List<ResistEarthquakesXYVO> getListXY(ResistEarthquakesCalculationParam param);

    void batchCalculation(List<ResistEarthquakesCalculation> list);

    String queryLatest(StringBuilder code);

    ResistEarthquakesDE findById(String id);

    void upDateAssess(ResistEarthquakesDE param);

    void deleteCalculationByQuery(ResistEarthquakesCalculation resistEarthquakesCalculation);

    EarthquakeAffectedField queryInfluenceField(String field);

    List<EarthquakeAffectedField> queryInfluenceFieldByVersion(String condition);

    List<ResistEarthquakesCalculation> findByAssessId(String id);

    void deleteSmallField(ArrayList<String> idList);

    List<Map<String, Object>> getSumByDivisionAndAssessCodes(String s, String s1, String s2, String taskId,
                                                             String condition,String seiMode);

    Integer getCountByAssessId(String assessId);

    List<Calculation> getValue(List<String> taskIdList, String code);
}
